package com.itheima.reggie.config;

import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * MybatisPlusInterceptor这个是mp里的核心插件，
 * PaginationInnerInterceptor这个是插件已有的自动分页的功能。
 * MybatisPlusInterceptor要添加PaginationInnerInterceptor才可以实现分页的功能。
 */
@Configuration //生成配置文件的bean，在SpringBootApplication的EnableAutoConfiguration才会自动加载这个bean到ioc容器之中。
public class MybatisPlusConfig {
    /**
     * 返回一个MybatisPlusInterceptor插件的bean对象，里面添加了PaginationInnerInterceptor。
     * Interceptor是拦截器的意思。
     * @return
     */
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
        //创建mp的核心插件，mp拦截器
        MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
        //创建插件里面的分页功能，分页功能拦截器
        PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
        //将分页功能添加到MybatisPlusInterceptor插件，也就是mp拦截器。
        mybatisPlusInterceptor.addInnerInterceptor(paginationInnerInterceptor);
        //将这个对象返回生成bean对象
        return mybatisPlusInterceptor;
    }
}
